[INFO] fetching crate rux 0.1.0...
[INFO] building rux-0.1.0 against master#ff34b919075f35a1787659e9c448a34b06bab8de for issue-85264
[INFO] extracting crate rux 0.1.0 into /workspace/builds/worker-10/source
[INFO] validating manifest of crates.io crate rux 0.1.0 on toolchain ff34b919075f35a1787659e9c448a34b06bab8de
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rux 0.1.0
[INFO] finished tweaking crates.io crate rux 0.1.0
[INFO] tweaked toml for crates.io crate rux 0.1.0 written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] b0319db3f8060c8952744926b64b61a57b7944b61ae2822bff9b8867cad49acc
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b0319db3f8060c8952744926b64b61a57b7944b61ae2822bff9b8867cad49acc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b0319db3f8060c8952744926b64b61a57b7944b61ae2822bff9b8867cad49acc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b0319db3f8060c8952744926b64b61a57b7944b61ae2822bff9b8867cad49acc", kill_on_drop: false }`
[INFO] [stdout] b0319db3f8060c8952744926b64b61a57b7944b61ae2822bff9b8867cad49acc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 833c52a3a05a6e892674111e89419ea3ea39eb1a13b53ac77b1eb39bfe62ca36
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "833c52a3a05a6e892674111e89419ea3ea39eb1a13b53ac77b1eb39bfe62ca36", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling libc v0.2.95
[INFO] [stderr]    Compiling cc v1.0.68
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling semver v0.1.20
[INFO] [stderr]    Compiling backtrace v0.2.3
[INFO] [stderr]    Compiling rustc-demangle v0.1.19
[INFO] [stderr]    Compiling bitflags v0.4.0
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling slab v0.3.0
[INFO] [stderr]    Compiling pad v0.1.6
[INFO] [stderr]    Compiling dbghelp-sys v0.2.0
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling rustc_version v0.1.7
[INFO] [stderr]    Compiling nix v0.7.0
[INFO] [stderr]    Compiling backtrace-sys v0.1.37
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling error-chain v0.5.0
[INFO] [stderr]    Compiling rux v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/protocol.rs:19:79
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_handler(&self, p: Self::Protocol, epfd: EpollFd, id: usize) -> Box<Handler<EpollEvent>>;
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |     handler: Box<Handler<EpollEvent>>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_fd(epfd: EpollFd, handler: Box<Handler<EpollEvent>>, loop_ms: isize) -> Epoll {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let fd = try!(epoll_create());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |         where F: FnOnce(EpollFd) -> Box<Handler<EpollEvent>>
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let cnt = try!(epoll_wait(self.epfd.fd, dst, self.loop_ms));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let cnt = try!(self.wait(dst));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         try!(epoll_ctl(self.fd, op, fd, interest));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         try!(self.ctl(EpollOp::EpollCtlMod, interest, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(self.ctl(EpollOp::EpollCtlAdd, interest, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         try!(self.ctl(EpollOp::EpollCtlDel, &NO_INTEREST, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/handler/echo.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 39 |         if let Some(n) = try!(read(fd, From::from(&mut self.buf))) {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/handler/echo.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |             if let Some(cnt) = try!(write(fd, From::from(&self.buf))) {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handler/sync.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     handlers: Slab<RefCell<Box<Handler<EpollEvent>>>, usize>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let inet = try!(addr.to_socket_addrs().unwrap().next().ok_or("could not parse sockaddr"));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let fd = try!(epoll_create());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let srvfd = try!(socket(AddressFamily::Inet,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         try!(eintr!(bind, "bind", self.srvfd, &self.sockaddr));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(eintr!(listen, "listen", self.srvfd, self.max_conn));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         try!(self.cepfd.register(self.srvfd, &ceinfo));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:189:37
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let epfd = EpollFd::new(try!(epoll_create()));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         try!(mask.thread_block());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let sigfd = try!(SignalFd::with_flags(&mask, SFD_NONBLOCK));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut epoll = try!(Epoll::new_with(loop_ms, |epfd| {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(epoll.epfd.register(fd, &siginfo));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             try!(mask.thread_block());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/logging/mod.rs:15:51
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn setup(&self, epfd: &EpollFd) -> Result<Box<Log>>;
[INFO] [stdout]    |                                                   ^^^ help: use `dyn`: `dyn Log`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/logging/mod.rs:118:48
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn setup(&self, _: &EpollFd) -> Result<Box<Log>> {
[INFO] [stdout]     |                                                ^^^ help: use `dyn`: `dyn Log`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsRawFd`
[INFO] [stdout]   --> src/lib.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let b = try!(eintr!(unistd::write, "unistd::write", fd, buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let b = try!(eintr!(unistd::read, "unistd::read", fd, buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/poll/mod.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref NO_INTEREST: EpollEvent = {
[INFO] [stdout] 17 | |         EpollEvent {
[INFO] [stdout] 18 | |             events: EpollEventKind::empty(),
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | |     };
[INFO] [stdout] 22 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | / error_chain! {
[INFO] [stdout] 3  | |     types {
[INFO] [stdout] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stdout] 5  | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     }
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | / error_chain! {
[INFO] [stdout] 3  | |     types {
[INFO] [stdout] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stdout] 5  | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     }
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: reference to packed field is unaligned
[INFO] [stdout]    --> src/server/mod.rs:108:39
[INFO] [stdout]     |
[INFO] [stdout] 108 |         trace!("ready(): {:?}: {:?}", ev.data, ev.events);
[INFO] [stdout]     |                                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unaligned_references)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
[INFO] [stdout]     = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: reference to packed field is unaligned
[INFO] [stdout]    --> src/server/mod.rs:108:48
[INFO] [stdout]     |
[INFO] [stdout] 108 |         trace!("ready(): {:?}: {:?}", ev.data, ev.events);
[INFO] [stdout]     |                                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
[INFO] [stdout]     = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `epfd`
[INFO] [stdout]   --> src/server/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     epfd: EpollFd,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/handler/echo.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             ::nix::unistd::close(fd);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.31s
[INFO] running `Command { std: "docker" "inspect" "833c52a3a05a6e892674111e89419ea3ea39eb1a13b53ac77b1eb39bfe62ca36", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "833c52a3a05a6e892674111e89419ea3ea39eb1a13b53ac77b1eb39bfe62ca36", kill_on_drop: false }`
[INFO] [stdout] 833c52a3a05a6e892674111e89419ea3ea39eb1a13b53ac77b1eb39bfe62ca36
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+ff34b919075f35a1787659e9c448a34b06bab8de" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d3b968fb2c3a67fe04c80f9a118cdb82b44fe1642d26c2aaca14f80ccac7924
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "7d3b968fb2c3a67fe04c80f9a118cdb82b44fe1642d26c2aaca14f80ccac7924", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/protocol.rs:19:79
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_handler(&self, p: Self::Protocol, epfd: EpollFd, id: usize) -> Box<Handler<EpollEvent>>;
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |     handler: Box<Handler<EpollEvent>>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_fd(epfd: EpollFd, handler: Box<Handler<EpollEvent>>, loop_ms: isize) -> Epoll {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let fd = try!(epoll_create());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |         where F: FnOnce(EpollFd) -> Box<Handler<EpollEvent>>
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let cnt = try!(epoll_wait(self.epfd.fd, dst, self.loop_ms));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let cnt = try!(self.wait(dst));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         try!(epoll_ctl(self.fd, op, fd, interest));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         try!(self.ctl(EpollOp::EpollCtlMod, interest, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(self.ctl(EpollOp::EpollCtlAdd, interest, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         try!(self.ctl(EpollOp::EpollCtlDel, &NO_INTEREST, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/handler/echo.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 39 |         if let Some(n) = try!(read(fd, From::from(&mut self.buf))) {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/handler/echo.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |             if let Some(cnt) = try!(write(fd, From::from(&self.buf))) {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handler/sync.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     handlers: Slab<RefCell<Box<Handler<EpollEvent>>>, usize>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let inet = try!(addr.to_socket_addrs().unwrap().next().ok_or("could not parse sockaddr"));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let fd = try!(epoll_create());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let srvfd = try!(socket(AddressFamily::Inet,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         try!(eintr!(bind, "bind", self.srvfd, &self.sockaddr));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(eintr!(listen, "listen", self.srvfd, self.max_conn));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         try!(self.cepfd.register(self.srvfd, &ceinfo));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:189:37
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let epfd = EpollFd::new(try!(epoll_create()));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         try!(mask.thread_block());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let sigfd = try!(SignalFd::with_flags(&mask, SFD_NONBLOCK));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut epoll = try!(Epoll::new_with(loop_ms, |epfd| {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(epoll.epfd.register(fd, &siginfo));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             try!(mask.thread_block());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/logging/mod.rs:15:51
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn setup(&self, epfd: &EpollFd) -> Result<Box<Log>>;
[INFO] [stdout]    |                                                   ^^^ help: use `dyn`: `dyn Log`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/logging/mod.rs:118:48
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn setup(&self, _: &EpollFd) -> Result<Box<Log>> {
[INFO] [stdout]     |                                                ^^^ help: use `dyn`: `dyn Log`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsRawFd`
[INFO] [stdout]   --> src/lib.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let b = try!(eintr!(unistd::write, "unistd::write", fd, buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let b = try!(eintr!(unistd::read, "unistd::read", fd, buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/poll/mod.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref NO_INTEREST: EpollEvent = {
[INFO] [stdout] 17 | |         EpollEvent {
[INFO] [stdout] 18 | |             events: EpollEventKind::empty(),
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | |     };
[INFO] [stdout] 22 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | / error_chain! {
[INFO] [stdout] 3  | |     types {
[INFO] [stdout] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stdout] 5  | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     }
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rux v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/error.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | / error_chain! {
[INFO] [stdout] 3  | |     types {
[INFO] [stdout] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stdout] 5  | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     }
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: reference to packed field is unaligned
[INFO] [stdout]    --> src/server/mod.rs:108:39
[INFO] [stdout]     |
[INFO] [stdout] 108 |         trace!("ready(): {:?}: {:?}", ev.data, ev.events);
[INFO] [stdout]     |                                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unaligned_references)]` on by default
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
[INFO] [stdout]     = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: reference to packed field is unaligned
[INFO] [stdout]    --> src/server/mod.rs:108:48
[INFO] [stdout]     |
[INFO] [stdout] 108 |         trace!("ready(): {:?}: {:?}", ev.data, ev.events);
[INFO] [stdout]     |                                                ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #82523 <https://github.com/rust-lang/rust/issues/82523>
[INFO] [stdout]     = note: fields of packed structs are not properly aligned, and creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `epfd`
[INFO] [stdout]   --> src/server/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     epfd: EpollFd,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]   --> src/handler/echo.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |             ::nix::unistd::close(fd);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0463]: can't find crate for `httparse`
[INFO] [stdout]  --> examples/smeagol.rs:5:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | extern crate httparse;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rux`
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> examples/sync_mux_echo.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/sync_mux_echo.rs:15:68
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn get_handler(&self, p: Self::Protocol, epfd: EpollFd) -> Box<Handler<EpollEvent>> {
[INFO] [stdout]    |                                                                    ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0433]: failed to resolve: there are too many leading `super` keywords
[INFO] [stdout]   --> examples/handler_2.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use super::Smeagol;
[INFO] [stdout]    |     ^^^^^ there are too many leading `super` keywords
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: there are too many leading `super` keywords
[INFO] [stdout]   --> examples/handler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use super::Smeagol;
[INFO] [stdout]    |     ^^^^^ there are too many leading `super` keywords
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]  --> examples/handler_2.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rux::handler::Handler;
[INFO] [stdout]   |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]  --> examples/handler_2.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rux::buf::ByteBuffer;
[INFO] [stdout]   |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler_2.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rux::error::Error;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler_2.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rux::poll::*;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler_2.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rux::fcntl::*;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler_2.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rux::stat::*;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `#[macro_use]` import
[INFO] [stdout]  --> examples/echo.rs:2:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use] extern crate rux;
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> examples/echo.rs:15:66
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn get_handler(&self, _: usize, _: EpollFd, _: usize) -> Box<Handler<EpollEvent>> {
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `rux::handler::Handler`, `rux::buf::ByteBuffer`, `rux::error::Error`, `rux::poll::*`, `rux::fcntl::*`, `rux::stat::*`, `rux`
[INFO] [stdout]   --> examples/handler_2.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | use rux::handler::Handler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  | use rux::buf::ByteBuffer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 | use rux::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 | use rux::poll::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 12 | use rux::fcntl::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 13 | use rux::stat::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 | use rux::{close as rclose, read, Shutdown, shutdown as rshutdown, write, IOProtocol,
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |             trace!("socket fd {}: EPOLLHUP", &self.fd);
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |             trace!("socket fd {}: EPOLLIN", &self.fd);
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:78:21
[INFO] [stdout]    |
[INFO] [stdout] 78 |                     error!("read fd {}: {:?}", self.fd, e);
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:89:13
[INFO] [stdout]    |
[INFO] [stdout] 89 |             error!("socket fd {}: EPOLLERR", &self.fd);
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 94 |             trace!("socket fd {}: EPOLLOUT: {:?}", &self.fd, &self.state);
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:107:9
[INFO] [stdout]     |
[INFO] [stdout] 107 |         trace!("try_frame()");
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:113:17
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 error!("parse http request error: {:?}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:138:13
[INFO] [stdout]     |
[INFO] [stdout] 138 |             trace!("try_frame(): no content length: {:?}", &r.headers);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]  --> examples/handler.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use rux::handler::Handler;
[INFO] [stdout]   |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]  --> examples/handler.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use rux::buf::ByteBuffer;
[INFO] [stdout]   |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use rux::error::Error;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use rux::poll::*;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rux::fcntl::*;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `rux`?
[INFO] [stdout]   --> examples/handler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use rux::stat::*;
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `rux::handler::Handler`, `rux::buf::ByteBuffer`, `rux::error::Error`, `rux::poll::*`, `rux::fcntl::*`, `rux::stat::*`, `rux`
[INFO] [stdout]   --> examples/handler.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | use rux::handler::Handler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 9  | use rux::buf::ByteBuffer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 | use rux::error::Error;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 11 | use rux::poll::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 12 | use rux::fcntl::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 13 | use rux::stat::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 14 | use rux::{close, read, write, IOProtocol, Action, Result};
[INFO] [stdout]    |     ^^^ maybe a missing crate `rux`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 54 |         trace!("new()");
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |             trace!("try_log() {} bytes", cnt);
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]   --> examples/handler.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         error!("on_error(): {:?}", fd);
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |         trace!("on_readable()");
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |             trace!("on_readable(): {:?} bytes", n);
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 93 |         trace!("on_readable(): socket not ready");
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]   --> examples/handler.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |         trace!("on_writable()");
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:101:13
[INFO] [stdout]     |
[INFO] [stdout] 101 |             trace!("on_writable() bytes {}", cnt);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `get_handler` has 3 parameters but the declaration in trait `get_handler` has 4
[INFO] [stdout]   --> examples/sync_mux_echo.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn get_handler(&self, p: Self::Protocol, epfd: EpollFd) -> Box<Handler<EpollEvent>> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 4 parameters, found 3
[INFO] [stdout]    |
[INFO] [stdout]    = note: `get_handler` from trait: `fn(&Self, <Self as rux::IOProtocol>::Protocol, rux::EpollFd, usize) -> Box<(dyn rux::Handler<rux::EpollEvent> + 'static)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 104 |         trace!("on_writable(): empty buf");
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         trace!("try_frame()");
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |             trace!("try_frame(): status {:?}", status);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |             trace!("try_frame(): no content length: {:?}", &r.headers);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:143:13
[INFO] [stdout]     |
[INFO] [stdout] 143 |             trace!("try_frame(): error decoding length: {:?}", &len_maybe);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |             trace!("try_frame(): error parsing length: {:?}", &length_maybe);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:164:17
[INFO] [stdout]     |
[INFO] [stdout] 164 |                 trace!("try_frame(): successfully copied payload to bufout: {:?}",
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         trace!("try_frame(): could not parse payload: reqb {:?}; buflen {:?}",
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:183:13
[INFO] [stdout]     |
[INFO] [stdout] 183 |             trace!("try_log() {} bytes", cnt);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         trace!("try_log() 0 bytes written: buffer len: {:?}", buflen);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:148:13
[INFO] [stdout]     |
[INFO] [stdout] 148 |             error!("error decoding content length header value: {:?}", &len_maybe);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:195:9
[INFO] [stdout]     |
[INFO] [stdout] 195 |         trace!("ok()");
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:156:13
[INFO] [stdout]     |
[INFO] [stdout] 156 |             error!("error parsing length: {:?}", &length_maybe);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 5 arguments but 4 arguments were supplied
[INFO] [stdout]   --> examples/sync_mux_echo.rs:17:22
[INFO] [stdout]    |
[INFO] [stdout] 17 |             Box::new(SyncHandler::new(epfd, EchoProtocol, 1, 10000))
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^ ----  ------------  -  ----- supplied 4 arguments
[INFO] [stdout]    |                      |
[INFO] [stdout]    |                      expected 5 arguments
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/handler/sync.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub fn new(epfd: EpollFd,
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |                     trace!("try_frame(): successfully copied payload to bufout: {:?}",
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:218:13
[INFO] [stdout]     |
[INFO] [stdout] 218 |             trace!("socket fd {}: EPOLLHUP", &fd);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:177:21
[INFO] [stdout]     |
[INFO] [stdout] 177 |                     error!("failed to copy data to bufout {:?}", e);
[INFO] [stdout]     |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:182:9
[INFO] [stdout]     |
[INFO] [stdout] 182 |         trace!("try_frame(): could not parse payload: reqb {:?}; buflen {:?}",
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |         trace!("respond(): keep-alive: {:?}", &keep_alive);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:193:13
[INFO] [stdout]     |
[INFO] [stdout] 193 |             error!("error writing http response {:?}", result);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         error!("500 INTERNAL SERVER ERROR: {:?}", self.fd);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `perror` in this scope
[INFO] [stdout]    --> examples/handler.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |             perror!("close()", self.close(fd));
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |         trace!("new()");
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |         trace!("shutting down {} on {}", &fd, &idx);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 268 |         trace!("closing {} on {}", &fd, &idx);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `perror` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 269 |         perror!("{}", rclose(fd));
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:224:13
[INFO] [stdout]     |
[INFO] [stdout] 224 |             trace!("socket fd {}: EPOLLERR", &fd);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |             trace!("log() 0 bytes written: buffer len: {:?}", buflen);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         trace!("log() {} bytes", cnt);
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `perror` in this scope
[INFO] [stdout]    --> examples/handler.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |             perror!("on_error()", self.on_error(&fd));
[INFO] [stdout]     |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `perror` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:352:17
[INFO] [stdout]     |
[INFO] [stdout] 352 |                 perror!("{}", self.epfd.unregister(fd));
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:230:13
[INFO] [stdout]     |
[INFO] [stdout] 230 |             trace!("socket fd {}: EPOLLIN", fd);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:353:17
[INFO] [stdout]     |
[INFO] [stdout] 353 |                 error!("closing: {:?}", e);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `perror` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:354:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 perror!("{}", rclose(fd));
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:236:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 trace!("{}: state is ROUT", fd);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:242:13
[INFO] [stdout]     |
[INFO] [stdout] 242 |             trace!("socket fd {}: EPOLLOUT", &fd);
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:244:17
[INFO] [stdout]     |
[INFO] [stdout] 244 |                 trace!("{}: state is IBIN", fd);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:249:17
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 trace!("{}: state is RIN", fd);
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `trace` in this scope
[INFO] [stdout]    --> examples/handler.rs:256:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             trace!("{}: changing state from {:?} to {:?}",
[INFO] [stdout]     |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0050, E0061.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0050`.
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `on_error` is not a member of trait `Handler`
[INFO] [stdout]   --> src/protocol.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 | /         fn on_error(&mut self) -> Result<()> {
[INFO] [stdout] 64 | |             self.on_error = true;
[INFO] [stdout] 65 | |             Ok(())
[INFO] [stdout] 66 | |         }
[INFO] [stdout]    | |_________^ not a member of trait `Handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `on_close` is not a member of trait `Handler`
[INFO] [stdout]   --> src/protocol.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 | /         fn on_close(&mut self) -> Result<()> {
[INFO] [stdout] 69 | |             self.on_close = true;
[INFO] [stdout] 70 | |             Ok(())
[INFO] [stdout] 71 | |         }
[INFO] [stdout]    | |_________^ not a member of trait `Handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `on_readable` is not a member of trait `Handler`
[INFO] [stdout]   --> src/protocol.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | /         fn on_readable(&mut self) -> Result<()> {
[INFO] [stdout] 74 | |             self.on_readable = true;
[INFO] [stdout] 75 | |             Ok(())
[INFO] [stdout] 76 | |         }
[INFO] [stdout]    | |_________^ not a member of trait `Handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `on_writable` is not a member of trait `Handler`
[INFO] [stdout]   --> src/protocol.rs:78:9
[INFO] [stdout]    |
[INFO] [stdout] 78 | /         fn on_writable(&mut self) -> Result<()> {
[INFO] [stdout] 79 | |             self.on_writable = true;
[INFO] [stdout] 80 | |             Ok(())
[INFO] [stdout] 81 | |         }
[INFO] [stdout]    | |_________^ not a member of trait `Handler`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `new` is not a member of trait `IOProtocol`
[INFO] [stdout]   --> src/protocol.rs:87:9
[INFO] [stdout]    |
[INFO] [stdout] 87 | /         fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box<Handler> {
[INFO] [stdout] 88 | |             Box::new(TestHandler {
[INFO] [stdout] 89 | |                 on_close: false,
[INFO] [stdout] 90 | |                 on_error: false,
[INFO] [stdout] ...  |
[INFO] [stdout] 93 | |             })
[INFO] [stdout] 94 | |         }
[INFO] [stdout]    | |_________^ not a member of trait `IOProtocol`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `httparse`?
[INFO] [stdout]    --> examples/handler_2.rs:108:30
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut headers = [::httparse::EMPTY_HEADER; 16];
[INFO] [stdout]     |                              ^^^^^^^^ maybe a missing crate `httparse`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `httparse`?
[INFO] [stdout]    --> examples/handler_2.rs:109:23
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let mut r = ::httparse::Request::new(&mut headers);
[INFO] [stdout]     |                       ^^^^^^^^ maybe a missing crate `httparse`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ByteBuffer`
[INFO] [stdout]    --> examples/handler_2.rs:253:21
[INFO] [stdout]     |
[INFO] [stdout] 253 |             bufout: ByteBuffer::with_capacity(obuffersize),
[INFO] [stdout]     |                     ^^^^^^^^^^ use of undeclared type `ByteBuffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ByteBuffer`
[INFO] [stdout]    --> examples/handler_2.rs:256:27
[INFO] [stdout]     |
[INFO] [stdout] 256 |             buffers: vec!(ByteBuffer::with_capacity(ibuffersize); max_conn),
[INFO] [stdout]     |                           ^^^^^^^^^^ use of undeclared type `ByteBuffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollEvent` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:55:22
[INFO] [stdout]    |
[INFO] [stdout] 55 |              event: &EpollEvent,
[INFO] [stdout]    |                      ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:56:26
[INFO] [stdout]    |
[INFO] [stdout] 56 |              bufin: &mut ByteBuffer,
[INFO] [stdout]    |                          ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:57:27
[INFO] [stdout]    |
[INFO] [stdout] 57 |              bufout: &mut ByteBuffer)
[INFO] [stdout]    |                           ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLRDHUP` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:61:26
[INFO] [stdout]    |
[INFO] [stdout] 61 |         if kind.contains(EPOLLRDHUP) || kind.contains(EPOLLHUP) {
[INFO] [stdout]    |                          ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLHUP` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:61:55
[INFO] [stdout]    |
[INFO] [stdout] 61 |         if kind.contains(EPOLLRDHUP) || kind.contains(EPOLLHUP) {
[INFO] [stdout]    |                                                       ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLIN` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:66:26
[INFO] [stdout]    |
[INFO] [stdout] 66 |         if kind.contains(EPOLLIN) {
[INFO] [stdout]    |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLERR` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:88:26
[INFO] [stdout]    |
[INFO] [stdout] 88 |         if kind.contains(EPOLLERR) {
[INFO] [stdout]    |                          ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLOUT` in this scope
[INFO] [stdout]   --> examples/handler_2.rs:93:26
[INFO] [stdout]    |
[INFO] [stdout] 93 |         if kind.contains(EPOLLOUT) {
[INFO] [stdout]    |                          ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:106:41
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn try_frame(&mut self, bufin: &mut ByteBuffer, bufout: &mut ByteBuffer) -> usize {
[INFO] [stdout]     |                                         ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:106:66
[INFO] [stdout]     |
[INFO] [stdout] 106 |     fn try_frame(&mut self, bufin: &mut ByteBuffer, bufout: &mut ByteBuffer) -> usize {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollFd` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:221:11
[INFO] [stdout]     |
[INFO] [stdout] 221 |     epfd: EpollFd,
[INFO] [stdout]     |           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:222:18
[INFO] [stdout]     |
[INFO] [stdout] 220 | pub struct SmeagolHandler {
[INFO] [stdout]     |                          - help: you might be missing a type parameter: `<ByteBuffer>`
[INFO] [stdout] 221 |     epfd: EpollFd,
[INFO] [stdout] 222 |     buffers: Vec<ByteBuffer>,
[INFO] [stdout]     |                  ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:225:13
[INFO] [stdout]     |
[INFO] [stdout] 225 |     bufout: ByteBuffer,
[INFO] [stdout]     |             ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `open` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     open(format!("{}/{}/events.log", elogdir, elogdirid).as_str(),
[INFO] [stdout]     |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_CREAT` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:234:10
[INFO] [stdout]     |
[INFO] [stdout] 234 |          O_CREAT | O_WRONLY | O_APPEND,
[INFO] [stdout]     |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_WRONLY` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:234:20
[INFO] [stdout]     |
[INFO] [stdout] 234 |          O_CREAT | O_WRONLY | O_APPEND,
[INFO] [stdout]     |                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_APPEND` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:234:31
[INFO] [stdout]     |
[INFO] [stdout] 234 |          O_CREAT | O_WRONLY | O_APPEND,
[INFO] [stdout]     |                               ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `S_IWUSR` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:235:10
[INFO] [stdout]     |
[INFO] [stdout] 235 |          S_IWUSR)
[INFO] [stdout]     |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollFd` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:246:22
[INFO] [stdout]     |
[INFO] [stdout] 246 |                epfd: EpollFd)
[INFO] [stdout]     |                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollFd` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:309:18
[INFO] [stdout]     |
[INFO] [stdout] 309 | fn decode(epfd: &EpollFd,
[INFO] [stdout]     |                  ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollEvent` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:310:19
[INFO] [stdout]     |
[INFO] [stdout] 310 |           event: &EpollEvent,
[INFO] [stdout]     |                   ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `Error` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:312:53
[INFO] [stdout]     |
[INFO] [stdout] 312 |           -> ::std::result::Result<(usize, RawFd), (Error, RawFd)> {
[INFO] [stdout]     |                                                     ^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]     |
[INFO] [stdout] 1   | use io::Error;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use std::error::Error;
[INFO] [stdout]     |
[INFO] [stdout] 1   | use std::fmt::Error;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `Smeagol` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:313:11
[INFO] [stdout]     |
[INFO] [stdout] 313 |     match Smeagol.decode(event.data) {
[INFO] [stdout]     |           ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `EpollEvent` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:323:36
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     let interest = EpollEvent {
[INFO] [stdout]     |                                    ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLIN` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:324:33
[INFO] [stdout]     |
[INFO] [stdout] 324 |                         events: EPOLLIN | EPOLLOUT | EPOLLHUP | EPOLLRDHUP | EPOLLET,
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLOUT` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:324:43
[INFO] [stdout]     |
[INFO] [stdout] 324 |                         events: EPOLLIN | EPOLLOUT | EPOLLHUP | EPOLLRDHUP | EPOLLET,
[INFO] [stdout]     |                                           ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLHUP` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:324:54
[INFO] [stdout]     |
[INFO] [stdout] 324 |                         events: EPOLLIN | EPOLLOUT | EPOLLHUP | EPOLLRDHUP | EPOLLET,
[INFO] [stdout]     |                                                      ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLRDHUP` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:324:65
[INFO] [stdout]     |
[INFO] [stdout] 324 |                         events: EPOLLIN | EPOLLOUT | EPOLLHUP | EPOLLRDHUP | EPOLLET,
[INFO] [stdout]     |                                                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLET` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:324:78
[INFO] [stdout]     |
[INFO] [stdout] 324 |                         events: EPOLLIN | EPOLLOUT | EPOLLHUP | EPOLLRDHUP | EPOLLET,
[INFO] [stdout]     |                                                                              ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `Smeagol` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:325:31
[INFO] [stdout]     |
[INFO] [stdout] 325 |                         data: Smeagol.encode(action),
[INFO] [stdout]     |                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Handler` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:342:6
[INFO] [stdout]     |
[INFO] [stdout] 342 | impl Handler<EpollEvent> for SmeagolHandler {
[INFO] [stdout]     |      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollEvent` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:342:14
[INFO] [stdout]     |
[INFO] [stdout] 342 | impl Handler<EpollEvent> for SmeagolHandler {
[INFO] [stdout]     |     -        ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: you might be missing a type parameter: `<EpollEvent>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ByteBuffer`
[INFO] [stdout]   --> examples/handler.rs:60:20
[INFO] [stdout]    |
[INFO] [stdout] 60 |             bufin: ByteBuffer::with_capacity(buffer_size),
[INFO] [stdout]    |                    ^^^^^^^^^^ use of undeclared type `ByteBuffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollEvent` in this scope
[INFO] [stdout]    --> examples/handler_2.rs:347:33
[INFO] [stdout]     |
[INFO] [stdout] 347 |     fn ready(&mut self, event: &EpollEvent) {
[INFO] [stdout]     |                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsRawFd`
[INFO] [stdout]  --> examples/handler_2.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::os::unix::io::{RawFd, AsRawFd};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> examples/handler_2.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]  --> examples/handler_2.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::OpenOptions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> examples/handler_2.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> examples/handler_2.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `ByteBuffer`
[INFO] [stdout]   --> examples/handler.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |             bufout: ByteBuffer::with_capacity(buffer_size),
[INFO] [stdout]    |                     ^^^^^^^^^^ use of undeclared type `ByteBuffer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `httparse`?
[INFO] [stdout]    --> examples/handler.rs:110:30
[INFO] [stdout]     |
[INFO] [stdout] 110 |         let mut headers = [::httparse::EMPTY_HEADER; 16];
[INFO] [stdout]     |                              ^^^^^^^^ maybe a missing crate `httparse`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `handler_2`
[INFO] [stdout]    --> examples/handler_2.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / use std::os::unix::io::{RawFd, AsRawFd};
[INFO] [stdout] 2   | | use std::path::Path;
[INFO] [stdout] 3   | | use std::fs::OpenOptions;
[INFO] [stdout] 4   | | use std::io;
[INFO] [stdout] ...   |
[INFO] [stdout] 374 | |     }
[INFO] [stdout] 375 | | }
[INFO] [stdout]     | |_^ consider adding a `main` function to `examples/handler_2.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 71 previous errors; 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0422, E0425, E0432, E0433, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/protocol.rs:19:79
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn get_handler(&self, p: Self::Protocol, epfd: EpollFd, id: usize) -> Box<Handler<EpollEvent>>;
[INFO] [stdout]    |                                                                               ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/protocol.rs:87:62
[INFO] [stdout]    |
[INFO] [stdout] 87 |         fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box<Handler> {
[INFO] [stdout]    |                                                              ^^^^^^^ help: use `dyn`: `dyn Handler`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |     handler: Box<Handler<EpollEvent>>,
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:32:48
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn from_fd(epfd: EpollFd, handler: Box<Handler<EpollEvent>>, loop_ms: isize) -> Epoll {
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:45:18
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let fd = try!(epoll_create());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/poll/mod.rs:42:41
[INFO] [stdout]    |
[INFO] [stdout] 42 |         where F: FnOnce(EpollFd) -> Box<Handler<EpollEvent>>
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:56:19
[INFO] [stdout]    |
[INFO] [stdout] 56 |         let cnt = try!(epoll_wait(self.epfd.fd, dst, self.loop_ms));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/poll/mod.rs:64:19
[INFO] [stdout]    |
[INFO] [stdout] 64 |         let cnt = try!(self.wait(dst));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         try!(epoll_ctl(self.fd, op, fd, interest));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:108:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |         try!(self.ctl(EpollOp::EpollCtlMod, interest, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 |         try!(self.ctl(EpollOp::EpollCtlAdd, interest, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/poll/mod.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |         try!(self.ctl(EpollOp::EpollCtlDel, &NO_INTEREST, fd));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/handler/echo.rs:39:26
[INFO] [stdout]    |
[INFO] [stdout] 39 |         if let Some(n) = try!(read(fd, From::from(&mut self.buf))) {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/handler/echo.rs:57:32
[INFO] [stdout]    |
[INFO] [stdout] 57 |             if let Some(cnt) = try!(write(fd, From::from(&self.buf))) {
[INFO] [stdout]    |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/handler/sync.rs:17:32
[INFO] [stdout]    |
[INFO] [stdout] 17 |     handlers: Slab<RefCell<Box<Handler<EpollEvent>>>, usize>,
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Handler<EpollEvent>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:48:20
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let inet = try!(addr.to_socket_addrs().unwrap().next().ok_or("could not parse sockaddr"));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:84:18
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let fd = try!(epoll_create());
[INFO] [stdout]    |                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/simplemux.rs:89:21
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let srvfd = try!(socket(AddressFamily::Inet,
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:167:9
[INFO] [stdout]     |
[INFO] [stdout] 167 |         try!(eintr!(bind, "bind", self.srvfd, &self.sockaddr));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:170:9
[INFO] [stdout]     |
[INFO] [stdout] 170 |         try!(eintr!(listen, "listen", self.srvfd, self.max_conn));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:180:9
[INFO] [stdout]     |
[INFO] [stdout] 180 |         try!(self.cepfd.register(self.srvfd, &ceinfo));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/server/simplemux.rs:189:37
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let epfd = EpollFd::new(try!(epoll_create()));
[INFO] [stdout]     |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |         try!(mask.thread_block());
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:57:21
[INFO] [stdout]    |
[INFO] [stdout] 57 |         let sigfd = try!(SignalFd::with_flags(&mask, SFD_NONBLOCK));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut epoll = try!(Epoll::new_with(loop_ms, |epfd| {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |         try!(epoll.epfd.register(fd, &siginfo));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/server/mod.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |             try!(mask.thread_block());
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: maybe a missing crate `httparse`?
[INFO] [stdout]    --> examples/handler.rs:111:23
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let mut r = ::httparse::Request::new(&mut headers);
[INFO] [stdout]     |                       ^^^^^^^^ maybe a missing crate `httparse`?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/logging/mod.rs:15:51
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn setup(&self, epfd: &EpollFd) -> Result<Box<Log>>;
[INFO] [stdout]    |                                                   ^^^ help: use `dyn`: `dyn Log`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/logging/mod.rs:118:48
[INFO] [stdout]     |
[INFO] [stdout] 118 |     fn setup(&self, _: &EpollFd) -> Result<Box<Log>> {
[INFO] [stdout]     |                                                ^^^ help: use `dyn`: `dyn Log`
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in the 2021 edition!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsRawFd`
[INFO] [stdout]   --> src/lib.rs:87:25
[INFO] [stdout]    |
[INFO] [stdout] 87 | use std::os::unix::io::{AsRawFd, RawFd};
[INFO] [stdout]    |                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:104:13
[INFO] [stdout]     |
[INFO] [stdout] 104 |     let b = try!(eintr!(unistd::write, "unistd::write", fd, buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/lib.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let b = try!(eintr!(unistd::read, "unistd::read", fd, buf));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]   --> examples/handler.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     bufin: ByteBuffer,
[INFO] [stdout]    |            ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `ByteBuffer` in this scope
[INFO] [stdout]   --> examples/handler.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 34 |     bufout: ByteBuffer,
[INFO] [stdout]    |             ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `open` in this scope
[INFO] [stdout]   --> examples/handler.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 42 |     open(format!("{}/{}/events.log", elogdir, elogdirid).as_str(),
[INFO] [stdout]    |     ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_CREAT` in this scope
[INFO] [stdout]   --> examples/handler.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 |          O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC | O_NONBLOCK,
[INFO] [stdout]    |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_WRONLY` in this scope
[INFO] [stdout]   --> examples/handler.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |          O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC | O_NONBLOCK,
[INFO] [stdout]    |                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_APPEND` in this scope
[INFO] [stdout]   --> examples/handler.rs:43:31
[INFO] [stdout]    |
[INFO] [stdout] 43 |          O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC | O_NONBLOCK,
[INFO] [stdout]    |                               ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_CLOEXEC` in this scope
[INFO] [stdout]   --> examples/handler.rs:43:42
[INFO] [stdout]    |
[INFO] [stdout] 43 |          O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC | O_NONBLOCK,
[INFO] [stdout]    |                                          ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `O_NONBLOCK` in this scope
[INFO] [stdout]   --> examples/handler.rs:43:54
[INFO] [stdout]    |
[INFO] [stdout] 43 |          O_CREAT | O_WRONLY | O_APPEND | O_CLOEXEC | O_NONBLOCK,
[INFO] [stdout]    |                                                      ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `S_IWUSR` in this scope
[INFO] [stdout]   --> examples/handler.rs:44:10
[INFO] [stdout]    |
[INFO] [stdout] 44 |          S_IWUSR)
[INFO] [stdout]    |          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Handler` in this scope
[INFO] [stdout]    --> examples/handler.rs:200:6
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl Handler<EpollEvent> for SmeagolHandler {
[INFO] [stdout]     |      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollEvent` in this scope
[INFO] [stdout]    --> examples/handler.rs:200:14
[INFO] [stdout]     |
[INFO] [stdout] 200 | impl Handler<EpollEvent> for SmeagolHandler {
[INFO] [stdout]     |     -        ^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |     |
[INFO] [stdout]     |     help: you might be missing a type parameter: `<EpollEvent>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0412]: cannot find type `EpollEvent` in this scope
[INFO] [stdout]    --> examples/handler.rs:205:33
[INFO] [stdout]     |
[INFO] [stdout] 205 |     fn ready(&mut self, event: &EpollEvent) {
[INFO] [stdout]     |                                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `Smeagol` in this scope
[INFO] [stdout]    --> examples/handler.rs:210:24
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let fd = match Smeagol.decode(event.data) {
[INFO] [stdout]     |                        ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLRDHUP` in this scope
[INFO] [stdout]    --> examples/handler.rs:217:26
[INFO] [stdout]     |
[INFO] [stdout] 217 |         if kind.contains(EPOLLRDHUP) || kind.contains(EPOLLHUP) {
[INFO] [stdout]     |                          ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLHUP` in this scope
[INFO] [stdout]    --> examples/handler.rs:217:55
[INFO] [stdout]     |
[INFO] [stdout] 217 |         if kind.contains(EPOLLRDHUP) || kind.contains(EPOLLHUP) {
[INFO] [stdout]     |                                                       ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLERR` in this scope
[INFO] [stdout]    --> examples/handler.rs:223:26
[INFO] [stdout]     |
[INFO] [stdout] 223 |         if kind.contains(EPOLLERR) {
[INFO] [stdout]     |                          ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLIN` in this scope
[INFO] [stdout]    --> examples/handler.rs:229:26
[INFO] [stdout]     |
[INFO] [stdout] 229 |         if kind.contains(EPOLLIN) {
[INFO] [stdout]     |                          ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `EPOLLOUT` in this scope
[INFO] [stdout]    --> examples/handler.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |         if kind.contains(EPOLLOUT) {
[INFO] [stdout]     |                          ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsRawFd`
[INFO] [stdout]  --> examples/handler.rs:1:32
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::os::unix::io::{RawFd, AsRawFd};
[INFO] [stdout]   |                                ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> examples/handler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::OpenOptions`
[INFO] [stdout]  --> examples/handler.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::OpenOptions;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]  --> examples/handler.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread`
[INFO] [stdout]  --> examples/handler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::thread;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `handler`
[INFO] [stdout]    --> examples/handler.rs:1:1
[INFO] [stdout]     |
[INFO] [stdout] 1   | / use std::os::unix::io::{RawFd, AsRawFd};
[INFO] [stdout] 2   | | use std::path::Path;
[INFO] [stdout] 3   | | use std::fs::OpenOptions;
[INFO] [stdout] 4   | | use std::io;
[INFO] [stdout] ...   |
[INFO] [stdout] 274 | |     }
[INFO] [stdout] 275 | | }
[INFO] [stdout]     | |_^ consider adding a `main` function to `examples/handler.rs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 60 previous errors; 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0412, E0425, E0432, E0433, E0601.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/poll/mod.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref NO_INTEREST: EpollEvent = {
[INFO] [stdout] 17 | |         EpollEvent {
[INFO] [stdout] 18 | |             events: EpollEventKind::empty(),
[INFO] [stdout] ...  |
[INFO] [stdout] 21 | |     };
[INFO] [stdout] 22 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `handler::Handler`
[INFO] [stdout]    --> src/poll/mod.rs:151:10
[INFO] [stdout]     |
[INFO] [stdout] 151 |     impl Handler for ChannelHandler {
[INFO] [stdout]     |          ^^^^^^^ expected 1 type argument
[INFO] [stdout]     |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `E`
[INFO] [stdout]    --> src/handler/mod.rs:5:11
[INFO] [stdout]     |
[INFO] [stdout] 5   | pub trait Handler<E> {
[INFO] [stdout]     |           ^^^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]     |
[INFO] [stdout] 151 |     impl Handler<E> for ChannelHandler {
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/error.rs:2:1
[INFO] [stdout]    |
[INFO] [stdout] 2  | / error_chain! {
[INFO] [stdout] 3  | |     types {
[INFO] [stdout] 4  | |         Error, ErrorKind, ChainErr, Result;
[INFO] [stdout] 5  | |     }
[INFO] [stdout] ...  |
[INFO] [stdout] 22 | |     }
[INFO] [stdout] 23 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: missing generics for trait `handler::Handler`
[INFO] [stdout]   --> src/protocol.rs:87:62
[INFO] [stdout]    |
[INFO] [stdout] 87 |         fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box<Handler> {
[INFO] [stdout]    |                                                              ^^^^^^^ expected 1 type argument
[INFO] [stdout]    |
[INFO] [stdout] note: trait defined here, with 1 type parameter: `E`
[INFO] [stdout]   --> src/handler/mod.rs:5:11
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub trait Handler<E> {
[INFO] [stdout]    |           ^^^^^^^ -
[INFO] [stdout] help: use angle brackets to add missing type argument
[INFO] [stdout]    |
[INFO] [stdout] 87 |         fn new(&self, _: usize, _: RawFd, _: EpollFd) -> Box<Handler<E>> {
[INFO] [stdout]    |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 7 previous errors; 34 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0407.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stdout] warning: 2 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "7d3b968fb2c3a67fe04c80f9a118cdb82b44fe1642d26c2aaca14f80ccac7924", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d3b968fb2c3a67fe04c80f9a118cdb82b44fe1642d26c2aaca14f80ccac7924", kill_on_drop: false }`
[INFO] [stdout] 7d3b968fb2c3a67fe04c80f9a118cdb82b44fe1642d26c2aaca14f80ccac7924
